package com.icedata.sika.bridge

import net.mamoe.mirai.message.data.Message

/**
 * Sika的消息类
 *
 * 它是 [SikaMessageChain] 的元素，表示一个消息链中的单个组成部分
 *
 * 这是一个抽象类，有以下的实现类：
 *
 * [SikaAtMessage] At某人
 *
 * [SikaFaceMessage] 表情
 *
 * [SikaImageMessage] 图片
 *
 * [SikaPlainMessage] 文本
 *
 * [SikaQuoteMessage] 回复
 **/
abstract class SikaSingleMessage(val miraiMessage: Message) {
    /**
     * @return Sika消息的消息代码
     **/
    abstract override fun toString(): String

    /**
     * @return Sika消息在用户中看到的样子
     */
    abstract fun contentToString(): String
}

